package cn.janyd.common.core.constants;

/**
 * 全局错误码
 *
 * @author janyd
 * @since 2020/8/5 12:53
 */
public interface GlobalErrorCodeConstants {

    /**
     * 成功
     */
    int SUCCESS = 0;

    /**
     * 请求参数有误
     */
    int BAD_REQUEST = 400;

    /**
     * 未认证
     */
    int UNAUTHORIZED = 401;

    /**
     * 无权限访问
     */
    int FORBIDDEN = 403;

    /**
     * 资源不存在
     */
    int NOT_FOUND = 404;

    /**
     * 请求方法有误
     */
    int METHOD_NOT_ALLOWED = 405;

    /**
     * 服务端错误
     */
    int INTERNAL_SERVER_ERROR = 500;

    /**
     * 未知错误
     */
    int UNKNOWN = 999;

    /**
     * 是否属于全局错误码
     *
     * @param code 错误码
     * @return 是与否
     */
    static boolean isMatch(Integer code) {
        return code != null
                && code >= SUCCESS && code <= UNKNOWN;
    }
}
